home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / source / units / joystick.doc < prev    next >
Encoding:
Text File  |  1992-07-02  |  6.7 KB  |  157 lines

  1.                    ╔═══════════════════════════════════╗
  2.                    ║JOYSTICK UNIT FOR TP6.0 VERSION 1.3║
  3.                    ╚═══════════════════════════════════╝
  4.                    ╔═══════════════════════════════════╗
  5.                    ║           From: OGWare            ║
  6.                    ║     By  : Ole Gunnar Westgaard    ║
  7.                    ║ Made: 2 July 1992 at 06:12 am (!) ║
  8.                    ╚═══════════════════════════════════╝
  9.   
  10. PROSEDYRER:
  11. ───────────
  12.  
  13. Grenser(X1,Y1,X2,Y2:INTEGER);
  14. ═════════════════════════════
  15. - Gj¢r klar for bruk av integrert cursor i UNITEN.
  16. - Setter en ramme hvor cursoren ikke får gå utenfor, der:
  17.   - (X1,Y1) er ¢vre venstre hj¢rne.
  18.   - (X2,Y2) er nedre h¢yre hj¢rne.
  19. - Disse verdiene kan du finne igjen i:
  20.   - (MinX,MinY) og (MaxX,MaxY).
  21.   - Disse kan du aksessere direkte også, de få direkte virkninger på rammen
  22.     som cursoren befinner seg inne i.
  23.  
  24. SettPos(X,Y:INTEGER);
  25. ═════════════════════
  26. - Plasserer Cursoren på skjermen.
  27. - Koordinatene er globale, det betyr at SettPos(1,1) vil plassere cursoren
  28.   i ¢verste venstre hj¢rne på skjermen.
  29. - Du kan altså plassere cursoren utenfor denne rammen, men den vil straks
  30.   plasseres innenfor rammen igjen når du kaller Stick1 eller Stick2.
  31. - Du kan også aksessere disse direkte: (XPos,YPos).
  32.  
  33. VisPos(Forsinkelse:INTEGER);
  34. ════════════════════════════
  35. - Vis cursoren på skjermen med en lengde=forsinkelse.
  36. - Ett tall på mellom 10 og 20 er anbefalt som forsinkelse.
  37.  
  38. HentXY(VAR X,Y:INTEGER);
  39. ════════════════════════
  40. - Legger inn posisjonen i de variablene du setter in i denne prosedyren.
  41.  
  42. JoyStick1(VAR X,Y,K1,K2:INTEGER); / JoyStick2(VAR X,Y,K1,K2:INTEGER);
  43. ═════════════════════════════════════════════════════════════════════
  44. - Henter variabler fra Joystick #1 og #2.
  45. - X og Y er de 'ekte' tallene rapportert fra joystick-kortet, de er altså
  46.   ikke oversatt på noen måte.
  47. - K1 og K2 er Knapp 1 og 2, de settes lik 1 om de er trykket inn.
  48. - Det anbefales ikke å bruke denne prosedyren.
  49. - Dette er prosedyren som ligger til grunn for hele UNITEN.
  50.  
  51. FUNCTION: (!) Stick1(VAR Xret,YRet:INTEGER):INTEGER; og:
  52. FUNCTION: (!) Stick2(VAR Xret,YRet:INTEGER):INTEGER;
  53. ════════════════════════════════════════════════════════
  54. - Dette er rutinen som er brukt i eksempelet, det er også den enkleste.
  55. - Eksempel på bruk:
  56.   - Knapp:=Stick1(Vertikal,Horisontal);
  57.   - Knapp inneholder knappe verdien:
  58.     - Knapp=0 > Ingen knapper trykket inn.
  59.       Knapp=1 > Knapp 1 trykket inn.
  60.       Knapp=2 > Knapp 2 trykket inn.
  61.       Knapp=3 > Begge knappen er trykket inn.
  62.     - Vertikal inneholder joystickens bevegelse vertikalt:
  63.       - Vertikal=-1 > Joystick pinnen er presset oppover/Fremover.
  64.         Vertikal= 0 > Joystick pinnen er ikke presset vertikalt.
  65.         Vertikal=+1 > Joystick pinnen er presset nedover/Bakover.
  66.     - Horsontal inneholder joystickens bevegelse vertikalt:
  67.       - Horisontal=-1 > Joystick pinnen er presset til venstre.
  68.         Horisontal= 0 > Joystick pinnen er ikke presset Horisontalt.
  69.         Horisontal=+1 > Joystick pinnen er presset til h¢yre.
  70. - Dessuten er det denne rutinen som oppdaterer posisjonen (XPos,YPos) til
  71.   cursoren.
  72.  
  73. Initier1(A,B:BYTE); / Initier2(A,B:BYTE);
  74. ═════════════════════════════════════════
  75. - Initierer joysticken slik at den er klar til bruk.
  76. - Må benyttes f¢r man starter opp.
  77. - A er f¢lsomheten (3-255) til joysticken i X-retning.
  78. - B er f¢lsomheten (3-255) til joysticken i Y-retning.
  79. - Desto h¢yere tall i A,B : desto st¢digere joystick.
  80. - En verdi fra 5-10 er anbefalt verdi for A og B.
  81.  
  82. FinJuster1; / FinJuster2;
  83. ═════════════════════════
  84. - Spesiallaget prosedyre for å fininstille joysticken.
  85. - Burde ikke (SKAL IKKE) startes f¢r INITIERn er brukt, da denne prosedyren
  86.   går ut ifra verdier som den setter.
  87. - Her kan man justere g¢lsomhet ++
  88.  
  89.  
  90. VARIABLER i JOYSTICK.TPU:
  91. ═════════════════════════
  92. GlobalInit:BOOLEAN├──────> TRUE hvis man har initiert cursorramme.
  93. XPos,YPos:INTEGER├───────> Cursorens posisjon til enhver tid.
  94. MaxX,MaxY:INTEGER├───────> CursorRammens nedre h¢yre hj¢rne.
  95. MinX,MinY:INTEGER├───────> CursorRammens ¢vre venstre hj¢rne.
  96. OV1,OV2:STRING├──────────> Beskjeden: 'Plasser... i ¥vre vens...' kan endres.
  97. NH1.NH2:STRING├──────────> Beskjeden: 'Plasser... i nedre h¢y...' kan endres.
  98. EJ1,EJ2:STRING├──────────> Beskjeden: '...skulle være justert...' kan endres.
  99. DeltaX1,DeltaY1:INTEGER├─> Gapet fra misnste til st¢rste verdi på utslag #1.
  100. DeltaX2,DeltaY2:INTEGER├─> Gapet fra misnste til st¢rste verdi på utslag #2.
  101. XRes1,Yres1:INTEGER├─────> Inneholder f¢lsomheten for joystick #1.
  102. XRes2,Yres2:INTEGER├─────> Inneholder f¢lsomheten for joystick #2.
  103. GrenseX1a:INTEGER├───────> Joy #1: verdier for X bevegelse til: Stick1.
  104. GrenseX1b:INTEGER├───────> Joy #1: verdier for X bevegelse til: Stick1.
  105. GrenseY1a:INTEGER├───────> Joy #1: verdier for Y bevegelse til: Stick1.
  106. GrenseY1b:INTEGER├───────> Joy #1: verdier for Y bevegelse til: Stick1.
  107. GrenseX2a:INTEGER├───────> Joy #2: verdier for X bevegelse til: Stick2.
  108. GrenseX2b:INTEGER├───────> Joy #2: verdier for X bevegelse til: Stick2.
  109. GrenseY2a:INTEGER├───────> Joy #2: verdier for Y bevegelse til: Stick2.
  110. GrenseY2b:INTEGER├───────> Joy #2: verdier for Y bevegelse til: Stick2.
  111.  
  112.  
  113. ══════════════════════════════════════════════════════════════════════════════
  114.                            Generelle kommentarer
  115. ══════════════════════════════════════════════════════════════════════════════
  116.  
  117.  Denne uniten 'konverterer' en analog joystick til en digital, slik at man
  118.  kan bruke enkle prosedyrer i et TP program.
  119.  
  120.  UNITEN er freeware, det betyr:
  121.  - Bruk den som du vil, la andre få den osv, men:
  122.    - Man har ikke lov til å selge den, det er ikke DITT produkt!
  123.    - Alle filene skal f¢lge med når andre kopierer dem (3 stk nå).
  124.  - Alle gaver mottas med takk...
  125.  
  126.  Skulle du noen gang trenge en engelsk versjon, ta kontakt med meg, adressen
  127.  finner du til slutt i denne filen.
  128.  
  129.  For en liten sum kan du få tilgang til kildekoden og nye versjoner av uniten.
  130.  
  131.  planlagte forbedinger:
  132.  - JOYMOUSE.TPU en unit som kan ligge resident og emulere musbruk, evt ta
  133.    over interrupt 10h (MOUSEDRIVER Interrupt).
  134.  - Analog JOYSTICK.TPU hvilket betyr at utslaget blir st¢rre jo lenger en
  135.    beveger joystick pinnen utover fra midten, slik at man kan bevege seg
  136.    med flere hastigheter enkelt.
  137.  - Generelle forbedringer i den nåværende TPU.
  138.  
  139.  Kontakt meg om du skulle være interessert i slike forbedringer:
  140.  
  141.  Ole Gunnar Westgaard
  142.  27a 402 Fjellbirkeland
  143.  Sognsveien 218
  144.  0864 OSLO
  145.  02 - 187424
  146.  
  147.  Eller:
  148.  
  149.  Ole Gunnar Westgaard
  150.  Gautesveg 18a, Åfoss
  151.  3700 SKien
  152.  03 - 545398
  153.  
  154.  Hygg deg med uniten, ta kontakt om du vil bruke denne kommersiellt,
  155.  og vi kan diskutere saken.
  156.  Det finnes alltid en ålreit l¢sning...
  157.